package com.wugh.fast.module.mapper.anno;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 说明: 动态设置schema
 * <pre>
 *     通过注解动态设置方法中的全部sql的schema
 * </pre>
 *
 * @author wugh
 * @date 2019-12-31 17:06
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface DynamicSchema {
    /**
     * 动态schema的获取表达式
     * <pre>
     *    1. 支持常用的rootObject(method,args,target,targetClass) #root.method 或method
     *    2. 支持方法名称(JDK1.8之后) #p0 #a0 #argName
     *    3. 支持ioc容器, @beanName
     * </pre>
     *
     * @return
     */
    String value();
}
